using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("HallOfFameDialog")]
	public class HallOfFameDialog : DialogBase
	{
		[Attribute38("HallOfFameDialog.Info")]
		public class Info : MonoClass
		{
			public int m_dustRefundAmount => method_2<int>("m_dustRefundAmount");

			public Info(IntPtr address, string className)
				: base(address, className)
			{
			}

			public Info(IntPtr address)
				: this(address, "Info")
			{
			}
		}

		public enum Panel
		{
			DESCRIPTION,
			CARD_LIST,
			DUST_REFUND
		}

		public UIBButton m_nextButton => method_3<UIBButton>("m_nextButton");

		public UberText m_nextButtonText => method_3<UberText>("m_nextButtonText");

		public GameObject m_descriptionPanel => method_3<GameObject>("m_descriptionPanel");

		public GameObject m_cardListPanel => method_3<GameObject>("m_cardListPanel");

		public GameObject m_dustCompensationPanel => method_3<GameObject>("m_dustCompensationPanel");

		public GameObject m_cardsContainer => method_3<GameObject>("m_cardsContainer");

		public GameObject m_cardListDescription => method_3<GameObject>("m_cardListDescription");

		public GameObject m_dustJar => method_3<GameObject>("m_dustJar");

		public UberText m_dustCount => method_3<UberText>("m_dustCount");

		public List<string> m_newlyRetiredCards => method_3<Class272>("m_newlyRetiredCards")?.method_25();

		public float m_CardSpacing => method_2<float>("m_CardSpacing");

		public string m_showAnimationSound => method_4("m_showAnimationSound");

		public string m_hideAnimationSound => method_4("m_hideAnimationSound");

		public Info m_info => method_3<Info>("m_info");

		public int m_totalCardPages => method_2<int>("m_totalCardPages");

		public int m_pageNumber => method_2<int>("m_pageNumber");

		public Panel m_currentPanel => method_2<Panel>("m_currentPanel");

		public List<Actor> m_cardActors => method_3<Class271<Actor>>("m_cardActors")?.method_25();

		public static int MAX_CARDS_PER_PAGE => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "HallOfFameDialog", "MAX_CARDS_PER_PAGE");

		public float CardSpacing => method_11<float>("get_CardSpacing", Array.Empty<object>());

		public HallOfFameDialog(IntPtr address, string className)
			: base(address, className)
		{
		}

		public HallOfFameDialog(IntPtr address)
			: this(address, "HallOfFameDialog")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public void SetInfo(Info info)
		{
			method_8("SetInfo", info);
		}

		public new void Show()
		{
			method_8("Show");
		}

		public new void DoHideAnimation()
		{
			method_8("DoHideAnimation");
		}

		public void UpdateAll(Info info)
		{
			method_8("UpdateAll", info);
		}

		public void ShowPage(int pageNumber)
		{
			method_8("ShowPage", pageNumber);
		}

		public void UpdateCardPositions()
		{
			method_8("UpdateCardPositions");
		}

		public void TurnPage(bool right)
		{
			method_8("TurnPage", right);
		}

		public void PressNext()
		{
			method_8("PressNext");
		}
	}
}
